package com.alibaba.citrus.ots.platform.enhance.repository;

import com.alibaba.lattice2.epoch.sdk.model.Result;
import com.epoch.app.otsplatformenhance.dimension.dto.QueryListByPriorityRequest;
import com.epoch.app.otsplatformenhance.dimension.model.Dimension;
import com.epoch.app.otsplatformenhance.model.dto.DimensionPageQueryRequest;
import com.epoch.app.otsplatformenhance.model.dto.DimensionPageQueryResponse;
import com.epoch.app.otsplatformenhance.sdo.DimensionSDO;

import java.util.List;

public interface DimensionQueryRepository {

    /**
     * 分页查询维度列表
     * @param dimensionPageQueryRequest dimensionPageQueryRequest
     * @return DimensionPageQueryResponse
     */
    Result<List<DimensionPageQueryResponse>> pageQuery(DimensionPageQueryRequest dimensionPageQueryRequest);

    /**
     * 根据id查询维度
     * @param id id
     * @return DimensionSDO
     */
    DimensionSDO query(String id);


    Result<List<Dimension>> queryListByPriority(QueryListByPriorityRequest request);
}
